home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / util / misc / qvedit.lha / qvedit.doc < prev    next >
Text File  |  1992-08-21  |  19KB  |  385 lines

  1.                              ----------------
  2.                  Q V E D I T v1.0
  3.                  ----------------
  4. 0. Grovel
  5.  
  6. QVEDIT is SHAREWARE. If you like it, and intend to use it, then dig deeply 
  7. into your pockets and send a tenner+ to me (address at the end). This will
  8. give you the privelege of being a registered user, and you will recieve the
  9. upgrade as soon as it's ready. If you'd like to be a tester, please let me
  10. know, and any feedback on V1.0 would be good as well. QVEDIT is (C) 1992 
  11. Julian Gold.
  12.  
  13. 1. Introduction.
  14.  
  15.  Well, I hear you ask, just what is QVEDIT when it's at home in front of 
  16. the fire warming its little toes? The simple answer is, that it's a patch
  17. editor for the Alesis QuadraVerb Plus digital effects processor. If you 
  18. are still none-the-wiser, then perhaps this software isn't for you (but
  19. by all means have a play!). However, if you're still with me, then good.
  20. This little baby, weighing a mere 155K, will take all those programming
  21. nightmares away when you want to write a patch for the QuadraVerb. Instead
  22. of straining eyes/back/fingers prodding away at buttons with an LCD screen
  23. with a view, you can now strain your eyes/back/fingers clicking away at
  24. Ami instead. It's a whole new dimension of physico-mental suffering. But
  25. seriously, writing patches for modern-day synths is no joke unless you 
  26. have a patch editor (or you're kinky about weeny LCD displays). QVEDIT 
  27. will allow you to:
  28.  
  29.  o See ALL the relevant parameters at once without having to flick up
  30.    and down pages.
  31.    
  32.  o Edit all the important parameters in a consistent and (relatively!)
  33.    user-friendly way. The changes you make can either be sent in (nearly)
  34.    real time, or in one go.
  35.    
  36.  o Send, recieve, save and load whole data dumps or individual patches
  37.    from the QuadraVerb.
  38.    
  39.  o Locate patches with particular properties.
  40.  
  41.  o Test the current patch with a sound form either the Amiga or a MIDI
  42.    source.
  43.    
  44.  o Produce hardcopy of all or some parameters.
  45.  
  46. Interested? Read on... 
  47.  
  48. 2. Getting Started
  49.  
  50. In order to use QVEDIT to it's full, I recommend the following set-up:
  51.  
  52.  o An Amiga running Workbench 1.3 or 2.0x. I've no idea how it will react
  53.    to 1.2 ROM's, most probably unfavourably. As for the beige one, I think
  54.    it should run on all models, though the A1000 is another question. I
  55.    would recommend 1 Meg of RAM minimum, the program requires a few large
  56.    arrays to hold your precious data. 
  57.    
  58.  o A MIDI interface of some description, any will do, but I like the ones
  59.    with flashing lights that let you see data transfers. So, connect your
  60.    MIDI cables (we need both in and out) up, and go to Old Kent Road...
  61.    
  62.  o An Alesis QuadraVerb Plus. I don't know what will happen if you try to
  63.    use QVEDIT on a vanilla QuadraVerb or (more ambiguously) a QuadraVerb
  64.    GT. I suspect some of it will still function rather normally. If you
  65.    would be interested in a version for the GT, then write to me and ask
  66.    nicely. I may well entertain that concept. If you have none of these
  67.    bits of hardware, you can still use QVEDIT, though I would describe the
  68.    potential for doing anything useful with that setup as limited.
  69.    
  70. Good, now with that hardware checklist out of the road, here's the 
  71. software you'll need:
  72.   
  73.  o MIDI.library V1.0. Yes, I know there are later versions, but QVEDIT
  74.    was designed using V1.0 because my other patch editors choked on
  75.    later versions. MIDI.library is (C) Pregnant Badger Software. Stuff
  76.    this into your LIBS: directory.
  77.    
  78.  o ASSIGN the logical (yeek! VMS-talk) QV: to the directory you've put
  79.    QVEDIT in. Otherwise, Workbench won't know what to do when you start
  80.    QVEDIT from a dump icon. Oh, I apologize for the gratuitous use of the
  81.    word "dump" throughout the software and documentation. It bears no
  82.    relation to a natural function of most creatures, but is a MIDI term
  83.    that has few synonyms. Anyway, put your ASSIGN in your startup-sequence
  84.    (WB 1.3) or user-startup (WB2.0x) for keeps.
  85.  
  86. That's about it. QVEDIT uses a startup file called qv.config, but it will
  87. use default values if this can't be found, and anyway, at this point in 
  88. the software's history, it contains only a few less-than-vital pieces of
  89. information such as screen colours. In the next release of QVEDIT (a few
  90. months hence-it will probably contain a lot of information pertaining to
  91. an upgraded test window, edit window positions and the like). Anyhow, 
  92. relax, the startup file will be automatically created when you quit. You 
  93. can have as many of them as you wish and load them at any time using the
  94. Misc menu, but that's just icing on the cake right now.
  95.  
  96. 3. Running and using QVEDIT.
  97.  
  98. Choose your weapons, Workbench or CLI.
  99.  
  100.   3.1 Workbench
  101.    
  102.   From Workbench, you can run it either by double-clicking on the QVEDIT 
  103. icon, or on a *DUMP* file icon (note emphasis!) stored somewhere. Patch 
  104. file icons can be used to start QVEDIT, but they won't be loaded. You can 
  105. also use the extended-select method: click on a dump file icon, hold down
  106. SHIFT, double-click the QVEDIT icon. 
  107. If you chose to (try) to load a dump file, then QVEDIT will do its best to
  108. do so. Dump and patch files are written with ID headers to make sure you 
  109. don't load any old rubbish, so if QVEDIT loads, thinks about it, then 
  110. quits, chances are you've got a corrupt or non-existent dump file. If in
  111. doubt, there is an example dump file called qv.dump in the archive.
  112. If you just double-clicked on the QVEDIT icon, you'll get a window telling
  113. you a lot of tosh about QVEDIT and my good self. Click on my name for more
  114. hot air. There are two big buttons down the bottom of the window which 
  115. allow you to opt for either loading a file from DOS or sucking the data 
  116. from your QuadraVerb. You must do one or the other, if either fails you 
  117. will be returned to where you started. The LOAD FILE option brings up a
  118. file requester which should be sort of familiar. Click in the DIRECTORY
  119. string gadget and press RETURN to get a listing of all files that match
  120. the current pattern. You get the idea... 
  121. If you chose to get a dump from the QuadraVerb, you will be prompted to
  122. select the MIDI channel that it recieves on. (This is so that the Real-time
  123. edit option sends program change messages on the correct channel!). This 
  124. channel is saved in the startup file. Use the up or down arrows to increase
  125. or decrease the channel (you can't type a number in because, due to a 
  126. feature of Intuition, string gadgets trash other imagery. Click on OK, and
  127. the program will try to suck data from the QuadraVerb.If the program can't 
  128. locate the QuadraVerb after you asked for a dump, you'll get a requester 
  129. that allows you to either exit or retry again. Check your wiring if this 
  130. happens! Finally, should you wish to abort the dump, hit 'C'.
  131.  
  132. {ASIDE:
  133. In fact I used Peter da Silva's STDFILE requester,or at least is 99.9% his
  134.  - I had to modify it in places to compile under Lattice (some of the bugs 
  135. made me wonder how it, V2.0, ever compiled at all). I avoided using 
  136. Commodore's asl.library requester for two reasons:
  137.  (1) Not everyone has a 2.0x machine with asl.library.
  138.  (2) I don't have a smegging clue how to call it.
  139. Future versions may utilise it if available and the new Libraries 
  140. documentation surface.
  141. I also avoided using the arp.library requester because I lost a header 
  142. file and found STDFILE before I could find that. STDFILE is (C) Peter da
  143. Silva.}
  144.  
  145.   3.2 CLI usage.
  146.   
  147. Staring at the CLI prompt, if you type qvedit -h then you should get a 
  148. list of the options:
  149.  
  150.     qvedit -l <dumpfile> to load a dumpfile at startup.
  151.     qvedit -d to get a dump from the QuadraVerb
  152.     qvedit -h to remind you of the above.
  153.     
  154. qvedit on its own will start with the big "About" window mentioned above.
  155.  
  156.   3.3 Onwards...
  157.   
  158. OK, by this point a dump file should have found its way into RAM by hook 
  159. or by crook. You should see a cute little requester-like window with a
  160. scroll bar and a few gadgets. This is the PATCH SELECT window. You can
  161. scroll up and down using the slider to see the names of all 100 patches.
  162. Double-clicking a patch will select that patch to be the current one; 
  163. otherwise a single click on the patch followed by either <RETURN> or a
  164. click on the OK gadget on the bottom right will do similarly. The two
  165. arrow gadgets under the slider move you up and down the list by 1. Other
  166. useful keys are:
  167.  
  168.     T      - move the the top of the list (ie patch 99)
  169.     B      - move to the bottom of the list (ie patch 00)
  170.     M      - move to the middle of the list (patch 50)
  171.     0 to 9 - move to patch starting with that digit.
  172.     
  173. Clicking on the close gadget returns you to the current patch which 
  174. defaults to 0.
  175.  
  176. Now the main window opens. It looks superficially like a QuadraVerb but 
  177. isn't meant to replicate the functions exactly. The current patch name
  178. appears in the backdrop window, top left; along from that is the program's
  179. current status; and along from that the configuration of the current 
  180. patch. 
  181.  
  182. IMPORTANT: all the menus and keypress options are linked to this window. 
  183. In order for these to function THIS WINDOW MUST BE ACTIVE. No, it is not 
  184. a bug, though I think "feature" suits the occasion.
  185.  
  186. Each of the QuadraVerb's edit pages can be displayed as windows,
  187. so you can view all your reverb parameters (say) at once. There are 
  188. various ways to obtain these edit windows:
  189.  
  190.  (1) Type a letter:
  191.      r for reverb
  192.     d for delay
  193.     p for pitch
  194.     e for EQ
  195.     m for mix
  196.     o for mod.
  197.     
  198.  (2) Menu: go to the edit menu, and select an item. If an item is ghosted,
  199.      it isn't available in that configuration. You'll also see a command
  200.      sequence to obtain the same effect.
  201.      
  202.  (3) Click on a button in the main panel window. 
  203.  
  204. If the page does not appear in the current configuration, nothing will 
  205. happen. If it does, and the window is not open, then it will be opened
  206. (surprise!). If it is open, then it will be pushed to the front. The 
  207. windows can be opened, closed and depth-sorted at will. Note that
  208. when you change program, all the function windows are closed. Don't worry,
  209. no changes will be lost. A dot after the name shows that patch has been
  210. modified.
  211.  
  212.   3.4 Program Selection.
  213.   
  214. There are several ways to access any of the 100 patches as well. The Patch
  215. Selector window can be brought up at any time by menu, Right Amiga-E, or
  216. clicking the PROG button on the edit panel. Clicking on the two white 
  217. arrows move up or down to the next/previous patch - this is replicated by
  218. the up and down arrow keys, with the additional twist that holding down
  219. shift when you press the key moves you up or down in jumps of 10. Typing
  220. a numeral moves you to the patch starting with that digit (so 3 selects
  221. patch 30). T and B move you to the top or bottom of the list.
  222.  
  223.   3.5 Editing values.
  224.   
  225. To edit a value, click on it! An edit window will pop up, with a slider 
  226. and two arrow keys, and a display showing the current value. Despite its
  227. appearance, this is not a string gadget, software to parse every possible 
  228. parameter value would take a good few K more, and I don't want the code 
  229. to grow excessively. Instead, use the gadgets as makes sense: the slider
  230. to make large changes, the arrows small changes - a quick click changes by
  231. 1 unit, click and hold will scroll up or down after a short pause. When
  232. satisfied, click on OK or select CANCEL to abort that edit. If you click 
  233. OK and the value has changed, ALL open edit windows will be refreshed 
  234. (because some parameters affect other windows). Note that edit requests
  235. are queued up, so if you click on another parameter after the edit window 
  236. appears, it will be edited AFTER the current edit. It's probably bad news
  237. to deliberately do this, Intuition might not like it if RAM is in short 
  238. supply.
  239. There are 2 parameters handled differently to the majority - Name and 
  240. Configuration. A patch name is changed by activating the string gadget 
  241. with the program name on it on the control panel (either by clicking or
  242. choosing NAME from the EDIT menu). To change the current patch 
  243. configuration, you must use the CONFIG >> sub-menu on the EDIT menu. The 
  244. current configuration is ticked. If you change this, all the edit windows 
  245. will close.
  246.  
  247. 4. Menus
  248.  
  249. Many of QVEDIT's functions can be replicated by hotkeys. However, there 
  250. are several commands deliberately left without command sequences because 
  251. they involve pretty heavy changes to your edited data or the Quad itself 
  252. (or it's a trivial-ish function like change the screen colours). Anyhow,
  253. here's a guide to the options available on Menu.
  254.  
  255.   4.1 Project
  256.   
  257. From here, you can load or save both whole data dumps or individual 
  258. patches (later versions of QVEDIT will allow you to save blocks of 
  259. patches). The SAVE <?> AS... options will pop up a friendly file 
  260. requester, the SAVE option will only work if you've already saved a dump. 
  261. The LOAD/SAVE PATCH functions relate to the CURRENT patch.
  262. The ABOUT entry gives you the good old blurb window, click OK to get rid 
  263. of it. QUIT - I'll leave you to figure that out :-) One point to bear in 
  264. mind - the QuadraVerb transmits its data in a special packed format which 
  265. QVEDIT decodes. It is the PACKED data that is saved as a DUMP, but 
  266. patches are stored as UNPACKED data. 
  267.  
  268.   4.2 Midi
  269.   
  270. This menu controls information coming from and going to your black beauty 
  271. (it's OK, you don't need a horse...). 
  272.  
  273.   GET DUMP & PUT DUMP will receive/send a whole data dump (100 patches)
  274.   from/to the QuadraVerb. These are heavy options, and so an Are You Sure
  275.   requester pops up before they execute. WARNING! You can inadvertantly 
  276.   destroy all your QuadraVerb patches with PUT DUMP. I take no 
  277.   responsibility for this happening, you're the one holding the mouse...
  278.   A dump takes about 5 or 6 seconds on my machine. During this time, your
  279.   machine will "lock up" - don't worry, this is because the midi.library
  280.   routines run at a higher priority than the input.device. Normal service 
  281.   is resumed as soon as the dump has taken place.
  282.   
  283.   GET/PUT PATCH pops up a little requester. The requester has several 
  284.   gadgets which allow you to select the source and destination patches.
  285.   You can click on the number and type in your own digits, or use the
  286.   cluster of up/down arrows to change up or down by 1. Once happy (or 
  287.   not), click OK (or CANCEL). Transfer is pretty quick.
  288.  
  289.   REAL-TIME EDIT allows you to change parameters on the QuadraVerb when 
  290.   you accept them in the program. Hence, clicking on OK will send the
  291.   new value straight to the effects unit. Be careful with this option. In 
  292.   order for you to be aware of its presence, "MIDI Editing" will appear 
  293.   in the title bar status display. To turn it off, select it again.
  294.   
  295.   4.3 Edit
  296.   
  297. This gives menu/hotkey access to the edit windows, the patch requester 
  298. and the ability to change the configuration of the current patch. There's 
  299. also a CLEAR option which closes all the open edit windows.
  300.  
  301.   4.4 Misc
  302.   
  303. This really is a miscellany of functions! First up is the (for now) 
  304. trivial LOAD PREFS... which brings up the inevitable file requester.
  305. Handy if you get sick of the colours half-way through an edit :-)
  306.  
  307. Next we have COLOURS... the (almost as) familiar colour editor. Play
  308. about as you please, the colours I chose were motivated by my nice 
  309. 8-colour Workbench and the QuadraVerb itself. 
  310.  
  311. Rather more of use is the TEST... requester. With this, you can send an 
  312. audio signal to the QuadraVerb either from the Amiga itself or from a MIDI 
  313. instrument appropriately connected.  (Note: in V1.0, it isn't easy to 
  314. change a sound by real-time edit and hear the difference immediately. 
  315. The next release will cure this). Click on the LED-thingys to select the 
  316. various options, select a MIDI channel (string gadget or arrows) or a 
  317. sine/square wave from Ami (click on AMIGA and then on SINE or SQUARE). 
  318. A small icon on the right shows you what the sound source is to resolve 
  319. ambiguity. To hear a noise,click and hold the big green ball in the centre.
  320. The sound stops on release. To change the note, type in a note in the 
  321. gadget left of the slider, or use the slider to change to a note in the 
  322. 3-octave range. Finally, click on OK to get rid of the window.
  323.  
  324. Also jolly useful is the FIND... option. Up pops a requester which allows 
  325. you to find a particular type of patch. Click on an LED to select the 
  326. appropriate target and then click FIND to find the first one, or FIND 
  327. NEXT to er, find the next one, or CANCEL to forget it completely. There's 
  328. also a NAME PATTERN MATCHING option. To use this, click on the LED (it 
  329. won't work unless you do this!) then type the pattern. The pattern uses 
  330. AmigaDOS wildcards, ie #? to match anything, ? to match a single 
  331. character, | to do a this OR that match, % for no string at all,etc. Now
  332. PRESS <RETURN>. Failure to do so will cause failure of the find, because 
  333. the pattern must be pre-processed on <RETURN>. In essence, nothing will 
  334. happen till you re-select the pattern and hit <RETURN>!
  335.  
  336. Last but not least is PRINT. Selecting this will gave you a printout of 
  337. the parameters in the OPEN edit windows: none open, no data except a name.
  338. Of course, this presumes you have a printer!
  339.  
  340. 5. Problems and Shortcomings.
  341.  
  342. No program is without problems, QVEDIT is no exception. Here's a list of
  343. some things to watch out for (and if you have an idea what's happening 
  344. please let me know!).
  345.  
  346.  o The "double dump" problem. Sometimes you have to GET DUMP twice before
  347.    anything changes within QVEDIT. Probably due to some MIDI snag-up 
  348.    because the Amiga's serial port is being pushed quite hard to accept 
  349.    the large (14K+) volume of data from a dump.
  350.    
  351.  o The "spurious data value" problem. If you change (say) delay mode from 
  352.    mono to stereo, you can get bizarre values for the delay time. I can't
  353.    say I'm pleased with this bug, it should be easy to crack but isn't. 
  354.    However, it IS easy to remedy : just edit the right value in!
  355.  
  356.  o The "lost bytes" problem. RAM creep of an unusual nature, it happens
  357.    only the first time the program is loaded. 512 bytes vanish. Odd number,
  358.    huh? After that things seem fine. I'm pretty sure I've closed all the
  359.    crap I opened, and have free()'d all I've malloc()'d so perhaps the
  360.    problem's elsewhere? Or maybe it's a fragmentation thing? Ideas on a
  361.    postcard...
  362.    
  363. These are the only ones I can recall as persisting. Because the QV has so 
  364. many possible combinations of functions and modes, it is impossible to 
  365. test them all in a finite lifetime. So if you see strange values for 
  366. parameters (especially in connection with ducks), please let me know. And 
  367. of course, any other bugs, or anything you'd like to see implemented 
  368. that's not, or is but could be better...
  369.  
  370. It's been mostly fun writing QVEDIT. I've been hampered by a number of 
  371. grotesque inaccuracies in the QuadraVerb MIDI implementation document I 
  372. obtained (if you're interested, I can send you a copy with the correct 
  373. stuff on it), and it's been nearly 8 weeks of nearly solid coding. It's 
  374. been a learning experience, etc. I will be having a break for a few weeks,
  375. then getting back down to writing the next upgrade. It's tough at the 
  376. top...
  377.  
  378. Well, that's about it. All I can say is "happy editing", and I look 
  379. forward to receiving some dosh and feedback :-)
  380.  
  381.     Julian Gold,
  382.     c/o 29 High Street, Chesterton,
  383.     Cambridge,
  384.     UK.
  385.